package com.qike.duola.service;

import com.qike.duola.domain.DuolaProject;
import com.qike.duola.dto.*;
import com.qike.duola.vo.*;

import java.util.List;

/**
 * @Author: Eric.zhou
 * @Date: 2020/7/31 10:29
 */
public interface DuolaProjectService {


    /**
     * t添加工程
     * @param projectAddDto
     */
    void projectAdd(ProjectAddDto projectAddDto) throws Exception;

    /**
     * 工程编辑
     * @param projectEditDto
     */
    void projectEdit(ProjectEditDto projectEditDto) throws Exception;

    /**
     * 工程列表
     * @param projectListDto
     * @return
     */
    ProjectListVo projectList(ProjectListDto projectListDto);

    /**
     * 工程详情
     * @param id
     * @return
     */
    ProjectInfoVo projectInfo(Integer id) throws Exception;

    /**
     * 删除工程
     * @param id
     */
    void projectDel(Integer id) throws Exception;

    /**
     * 获取某个客户下所有已审批的合同下工程列表
     * @param uid
     * @return
     */
    List<DuolaProject> GetProjectListByUid(Integer uid);

    /**
     * 工程名称下拉
     * @param name
     * @return
     */
    List<EnumList> projectPullList(String name);

    /**
     * 退料转料工程名称下拉
     * @param name
     * @return
     */
    List<EnumList> ReTurnProjectPullList(String name,Integer transId);

    /**
     * 通过客户id获取已审批的工程
     * @param name
     * @param customerId
     * @return
     */
    List<ProjectPullListByCustomerIdVo> projectPullListByCustomerId(String name, Integer customerId);
}
